home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / TCL1 / CDICTION / CSMARTDO.H < prev    next >
Text File  |  1989-09-15  |  2KB  |  51 lines

  1. /*****************************************************************************
  2.     CSmartDocument - subclass of CDocument that provides some additional services.
  3.         These are:
  4.         
  5.     Ñ    Maintains a list of editable text items and supports tabbing
  6.         between items as in dialogs. CSmartEditText is also required
  7.         for this feature.
  8.         
  9.     Ñ    Has an instance variable itsReturnGopher. A returnGopher is 
  10.         a Bureaucrat that handles only CR and Enter keydowns. If
  11.         a CR or Enter keydown reaches the document level it is dispatched
  12.         to the returnGopher if one exists. Useful for items like default
  13.         buttons.
  14.         
  15.     Ñ    Windows that are not disposed when closed. If ISmartDocument is
  16.         called with closeDisposes = FALSE, then the window will only
  17.         be hidden when closed. The application must then support some
  18.         way of showing the window again, as in a window menu.
  19.     
  20.     by Dan Podwall - you may do anything you please with this code except
  21.     charge for it, with the exception of normal network download charges.
  22.     
  23. *****************************************************************************/
  24.  
  25. #define _H_CSmartDocument
  26.  
  27. #include "CDocument.h"
  28. #include "CSmartEditText.h"
  29.  
  30. struct CSmartDocument : CDocument
  31. {
  32.     struct CList            *itsEditItems;
  33.     struct CSmartEditText    *itsActiveText;
  34.     CBureaucrat                *itsReturnGopher; /* gets CR and enter, e.g. default btn */
  35.     Boolean                    closeDisposes;
  36.     
  37.     /* public methods */
  38.  
  39.     virtual void ISmartDocument(CBureaucrat *aSupervisor, Boolean printable,
  40.                             Boolean closeDisposes);
  41.     virtual void AddEditItem( CSmartEditText *anEditItem);
  42.     virtual void ActivateEditItem( CSmartEditText *anEditItem);
  43.     virtual void ActivateNextEditItem( CSmartEditText *currItem);
  44.     virtual void SelectWindow( void);
  45.     virtual void HideWindow( void);
  46.     virtual Boolean Close( Boolean Quitting);
  47.     virtual void SetReturnGopher( CBureaucrat *aReturnGopher);
  48.     virtual void DoKeyDown(char theChar, Byte keyCode, EventRecord *macEvent);
  49.     virtual void Dispose( void);
  50.  
  51. };